In a variety of consumer electronics, solid state drives (SSDs) incorporating non-volatile memories (NVMs) are frequently replacing or supplementing conventional rotating hard disk drives for mass storage. These non-volatile memories may include one or more flash memory devices, the flash memory devices may be logically divided into blocks, and each of the blocks may be further logically divided into addressable pages. These addressable pages may be any of a variety of sizes (e.g., 512 Bytes, 1 Kilobytes, 2 Kilobytes, 4 Kilobytes), which may or may not match the logical block address sizes used by a host computing device.
When testing the performance of SSDs, it is often desirable to compare SSDs under the same or similar operating conditions. Because a new SSD with no blocks containing invalid data, as often occurs with any SSD operating at steady state, will perform faster than a heavily used one, testers often bring an SSD to a state similar to steady state conditions under actual use. Thus, before performance testing an SSD, a tester will often precondition the SSD to a steady state condition by writing the SSD one or multiple times.
However, the preconditioning of a large capacity SSDs can be a time consuming process, requiring multiple full drive writes, sequential then random, ensuring all logical block addresses (LBAs) are valid, mapped in an indirection table, and other such tasks. As drives get larger and larger, this process time increases dramatically, rendering it incredibly time consuming to measure and characterize steady state performance. For example, a 3.84 terabyte (TB) drive might take 28 or more hours for one state of preconditioning, and 4 or more days for another state of preconditioning. Accordingly, an improved method for preconditioning SSDs is needed.